Verifying Concurrent Stacks by Divergence-Sensitive Bisimulation
نویسندگان
چکیده
The verification of linearizability – a key correctness criterion for concurrent objects – is based on trace refinement whose checking is PSPACE-complete. This paper suggests to use branching bisimulation instead. Our approach is based on comparing an abstract specification in which object methods are executed atomically to a real object program. Exploiting divergence sensitivity, this also applies to progress properties such as lock-freedom. These results enable the use of polynomial-time divergence-sensitive branching bisimulation checking techniques for verifying linearizability and progress. We conducted the experiment on the lock-free stacks to validate the efficiency and effectiveness of our methods.
منابع مشابه
Characterizing Bisimulation Congruence in the {Calculus
This paper presents a new characterization of the bisimulation congruence and D{bisimulation equivalences of the {calculus. The characterization supports a bisimulation{like proof technique which avoids explicit case analysis by taking a dynamic point of view of actions a process may perform , thus providing a new way of proving bisimulation congruence. The semantic theory of the {calculus is p...
متن کاملDeriving Bisimulation Congruences using 2-categories
We introduce G-relative-pushouts (GRPO) which are a 2-categorical generalisation of relative-pushouts (RPO). They are suitable for deriving labelled transition systems (LTS) for process calculi where terms are viewed modulo structural congruence. We develop their basic properties and show that bisimulation on the LTS derived via GRPOs is a congruence, provided that sufficiently many GRPOs exist...
متن کاملA verification algorithm for Declarative Concurrent Programming
A verification method for distributed systems based on decoupling forward and backward behaviour is proposed. This method uses an event structure based algorithm that, given a CCS process, constructs its causal compression relative to a choice of observable actions. Verifying the original process equipped with distributed backtracking on non-observable actions, is equivalent to verifying its re...
متن کاملVerifying Weak Probabilistic Noninterference
Weak probabilistic noninterference is a security property for enforcing confidentiality in multi-threaded programs. It aims to guarantee secure flow of information in the program and ensure that sensitive information does not leak to attackers. In this paper, the problem of verifying weak probabilistic noninterference by leveraging formal methods, in particular algorithmic verification, is disc...
متن کاملOn convergence-sensitive bisimulation and the embedding of CCS in timed CCS
We propose a notion of convergence-sensitive bisimulation that is built just over the notions of (internal) reduction and of (static) context. In the framework of timed CCS, we characterise this notion of ‘contextual’ bisimulation via the usual labelled transition system. We also remark that it provides a suitable semantic framework for a fully abstract embedding of untimed processes into timed...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1701.06104 شماره
صفحات -
تاریخ انتشار 2017